def time_format_converter():
    # 定义各地区的时间格式模板（键为地区名称，值为日期格式字符串）
    region_formats = {
        "中国": "%Y年%m月%d日 %H:%M:%S",
        "美国": "%m/%d/%Y %H:%M:%S",
        "英国": "%d/%m/%Y %H:%M:%S",
        "澳大利亚": "%d/%m/%Y %H:%M:%S",
        "法国": "%d/%m/%Y %H:%M:%S",
        "德国": "%d.%m.%Y %H:%M:%S",
        "俄罗斯": "%d.%m.%Y %H:%M:%S",
        "加拿大": "%Y-%m-%d %H:%M:%S"
    }
    
    # 提示用户输入时间组件
    print("=== 地区时间格式转换器 ===")
    try:
        year = int(input("请输入年份（如2025）："))
        month = int(input("请输入月份（1-12）："))
        day = int(input("请输入日期（1-31）："))
        hour = int(input("请输入小时（0-23）："))
        minute = int(input("请输入分钟（0-59）："))
        second = int(input("请输入秒（0-59）："))
    except ValueError:
        print("错误：输入的时间格式无效，请输入整数！")
        return
    
    # 验证时间合法性（基础验证，未覆盖所有边界情况如2月天数）
    if not (1 <= month <= 12 and 1 <= day <= 31 and 0 <= hour <= 23 and 0 <= minute <= 59 and 0 <= second <= 59):
        print("错误：输入的时间超出合法范围！")
        return
    
    # 显示支持的地区列表
    print("\n支持的地区：", end="")
    regions = list(region_formats.keys())
    for i, region in enumerate(regions, 1):
        print(f"{i}.{region}", end="  ")
    print()
    
    # 让用户选择地区（支持输入序号或名称）
    while True:
        region_input = input("请输入地区名称或序号：").strip()
        if region_input.isdigit():
            idx = int(region_input) - 1
            if 0 <= idx < len(regions):
                selected_region = regions[idx]
                break
            else:
                print(f"错误：序号需在1-{len(regions)}之间！")
        else:
            if region_input in region_formats:
                selected_region = region_input
                break
            else:
                print("错误：输入的地区不支持，请重新输入！")
    
    # 格式化时间并输出
    from datetime import datetime
    try:
        # 构造datetime对象（自动处理非法日期如2月30日）
        time_obj = datetime(year, month, day, hour, minute, second)
        formatted_time = time_obj.strftime(region_formats[selected_region])
        print(f"\n{selected_region}格式时间：{formatted_time}")
    except ValueError as e:
        print(f"错误：{e}")

# 运行程序
time_format_converter()